
#ifndef __FUNCTION_AND_POINTS_CHART_H_
#define __FUNCTION_AND_POINTS_CHART_H_

#include <vtkVersion.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderWindow.h>
#include <vtkSmartPointer.h>
#include <vtkChartXY.h>
#include <vtkTable.h>
#include <vtkPlot.h>
#include <vtkFloatArray.h>
#include <vtkContextView.h>
#include <vtkContextScene.h>
#include <vtkPen.h>
#include <vector>
#include "FunctionChart.h"


using namespace std;


class FunctionAndPointsChart : public FunctionChart
{
	vector<double*> _points;
	vector<double> _values;

	vtkSmartPointer<vtkTable> _points_table;

	public:

		FunctionAndPointsChart(int dim, double **limits, int num_slices = 500);
		virtual ~FunctionAndPointsChart();

		void AddPoint(double *point, double value);
		virtual vtkSmartPointer<vtkChartXY> BuildChart();
};

#endif
